/*
 *  agregar_comentario_response.cpp
 *  Wilson
 *
 *  Created by Sebastian Orfino on 1/10/12.
 *  Copyright 2012 lbs3. All rights reserved.
 *
 */

#include "VCPlugInHeaders.h"

//project include
#include "pugixml.hpp"

//stl includes
#include <string>
#include <functional>
#include <algorithm>
#include <sstream>

#include "agregar_comentario_response.h"

using namespace pugi;
using namespace std;
using namespace eventos;
using namespace xmp;

#define PAYLOAD_TAG "<payload></payload>"

std::string agregar_comentario_response::payload() const 
{
	xml_document doc;
	doc.load(PAYLOAD_TAG);
	
	xml_node pl_n = doc.child("payload");
	pl_n.append_attribute("mensaje") = ID();
	
	if (comentario_agregado_.id.length()) {

		pl_n.append_child(info_comentario_t::id_tag()).append_child(node_pcdata).set_value(comentario_agregado_.id.c_str());
		pl_n.append_child(info_comentario_t::texto_tag()).append_child(node_pcdata).set_value(comentario_agregado_.texto.c_str());
		pl_n.append_child(info_comentario_t::creador_tag()).append_child(node_pcdata).set_value(comentario_agregado_.creador.c_str());
		pl_n.append_child(info_comentario_t::cuando_tag()).append_child(node_pcdata).set_value(comentario_agregado_.cuando.c_str());
		pl_n.append_child(info_comentario_t::id_nota_tag()).append_child(node_pcdata).set_value(comentario_agregado_.id_nota.c_str());
	
	}
	
	pl_n.append_child("resultado").append_child(node_pcdata).set_value(comentario_agregado_.id.length() ? "OK":"ERROR");
	
	std::ostringstream ostr;
	doc.save(ostr);
	
	return ostr.str();
	
}


